package com.ophiux.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ophiux.common.data.datascope.DataScope;
import com.ophiux.system.model.dto.UserDTO;
import com.ophiux.system.model.entity.SysUser;
import com.ophiux.system.model.vo.UserVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @desc: 用户表 Mapper 接口
 * @author: hhl
 * @date：2023/6/29 18:34
 */
public interface SysUserMapper extends BaseMapper<SysUser> {

	/**
	 * 通过用户名查询用户信息（含有角色信息）
	 * @param username 用户名
	 * @return userVo
	 */
	public UserVO getUserVoByUsername(String username);


	/**
	 * 通过ID查询用户信息
	 * @param id 用户ID
	 * @return userVo
	 */
	public UserVO getUserVoById(Long id);

	/**
	 * 查询用户列表
	 * @param userDTO 查询条件
	 * @param dataScope 数据权限声明
	 * @return
	 */
	public List<UserVO> selectVoListByScope(@Param("query") UserDTO userDTO, DataScope dataScope);

}
